home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Users Group Library 1996 July
/
C-C++ Users Group Library July 1996.iso
/
vol_200
/
215_01
/
bbsc.doc
< prev
next >
Wrap
Text File
|
1980-01-01
|
5KB
|
121 lines
This file ==>bbsc.doc<== July 4, 1983 (Happy Birthday)
First off, the bbsc files are for a Bulletin Board System written in
BDS "C". If that's enough for you to know, you will need the following
files. If that's not enough, then read on past the following list.
Source files used by this system:
bbsc.c Main driver
bbscport.c Modem port drivers/routines
bbsclock.c Clock routines (take it even if you don't have
a clock, because you will have to fix the
functions to at least return skeleton date/time).
bbscfile.c File i/o for the messages, users, etc. files.
bbscmisc.c Miscellenous functions used across the system.
The following is a list of data files used by the system:
* users.bbs - maintains names, passwords, etc., of each caller
* messages.bbs - holds the messages left on the BBS
* header.bbs - 1 record header file used with the messages
+ welcome.bbs - the signon/welcome file
+ bulletin.bbs - bulletins to be shown on signon
+ help.bbs - short help file to explain the commands available
* be sure to get these as they are skeletons (real short) of
what these file want to look like.
+ these are standard CP/M files seperated by cr,lf and are
used as the names imply. (They are real short too).
------------------
Rational:
The coding standards found within the BBSC source differs from
the accepted standards set by K&R (sacrilege!). But hold on, they are
not that much different. Take a look at one of the source files and see what
I mean. I truely feel that this method is EASIER to read, and most
importantly, easier to maintain. (Obviously K&R never had to fix someone
else's code). Another reason is that it is easier for someone who has
just started to use "C" to understand!
-------------------
Comments:
The writing of this system was my way of learning "C". I have
used COBOL, BASIC, FORTRAN, and any number of assemblers. I was getting
tired of CBASIC (didn't have/couldn't afford the MBASIC compiler), and
really tired of trying to remember the opcodes of 8080 and Z80 (the
latter opcodes I feel make more sense). Lo and behold, there was all
this noise and commotion about "C" (you know, the one that came after "B").
Well, after doing some research, and on recommendation from a couple
proclaimed "C" programmers I went and spent the bucks for the BDS "C"
compiler.
One of the first things you may notice if you are a veteran
"C" programmer is that I didn't always use the shortest means of
coding a particular routine. A thousand pardons. "C" is a verrrry (sic)
powerful language, BUT, the syntax can make it damn near unreadable
if you really try hard enough (and sometimes you don't have to try real hard).
I tried to avoid these very short, very compact coding techniques because
I wasn't interested in the esoteric use of "C", but was trying to
code source that most anyone could read.
-------------------
Environment:
This BBS was written to run on this system:
- CP/M 2.2
- Compupro S-100 box
- Compupro Z80
- Compupro 64K memory
- Compupro Interfacer I I/o board (2 serial)
- Compupro Interfacer IV I/O board (3 serial, 1 parallel)
- Tarbell DD/DS disk controller
- Qume 8" data track 8 drives (2)
- Hayes Smartmodem (hooked to Interfacer IV)
- Hayes Chronograph (hooked to Interfacer IV)
This BBS is run under BYE.
-------------------
Wish list:
- change the accessing of the users.bbs file from sequential buffered
to random buffered
- be able to enter a string of commands (at the command prompt) such
as -->r;23;r;45;r67+
- come up with a better scheme for handling the messages file
that will allow random access (instead of relative access)
- write a utility to compress the messages file to really delete
killed messages. Or fix the messages file to reuse the killed
message space (not an easy chore).
- add field to header.bbs file to hold number of active messages on
the message file
- add field to header.bbs file to hold highest message number on
message on message file.
-------------------
Changes:
When you make changes to get this running on your system, attempt
to add compiler directives (#ifdef) to indicate what type of modem (for
example) you are using. This makes it easier for the next guy to come
along and get it working on his system if it is the same as yours.
If you do make changes that you would like to contribute (HINT!) to
the next version please leave a message for me at:
Marin RCPM (415) 383-0473
or
OXGATE #1 (408) 287-5901
Mike Kelly
San Francisco, Ca.